package com.ctc.lottery.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
*
* @TableName prize
*/
@TableName(value ="prize")
@Data
public class Prize implements Serializable {

    /**
    * id
    */
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    @TableId
    private String id;
    /**
    * 活动名称
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("活动名称")
    @Length(max= 64,message="编码长度不能超过64")
    private String activityName;
    /**
    * 物品id
    */
    @ApiModelProperty("物品id")
    private String commodityId;
    /**
    * 物品名称
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("物品名称")
    @Length(max= 64,message="编码长度不能超过64")
    private String commodityName;
    /**
    * 商品数量
    */
    @ApiModelProperty("商品数量")
    private Integer commodityNumber;
    /**
    * 奖品数量
    */
    @ApiModelProperty("奖品数量")
    private Integer prizeNumber;
    /**
    * 奖品等级
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("奖品等级")
    @Length(max= 64,message="编码长度不能超过64")
    private String level;
    /**
    * 剩余奖品数量
    */
    @ApiModelProperty("剩余奖品数量")
    private Integer remaining;
    /**
    * 中奖权重
    */
    @ApiModelProperty("中奖权重")
    private Integer weight;
    /**
    * 创建者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("创建者")
    @Length(max= 64,message="编码长度不能超过64")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
    * 更新者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("更新者")
    @Length(max= 64,message="编码长度不能超过64")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    /**
    * 备注
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    private String remark;
    @Version
    private int version;
}
